package com.shibo.order.feign;

import com.shibo.order.feign.fallback.ProductFeignClientFallBack;
import com.shibo.product.entity.Product;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

@FeignClient(value = "service-product",fallback = ProductFeignClientFallBack.class) // Feign客户端 （发起远程调用） value = 要远程调用的服务名
public interface ProductFeignClient {

    //MVC 注解的两种使用逻辑
    //1.标注在Controller上，表示接收请求
    //2.标注在FeignClient上，表示发送请求
//    @GetMapping("/product/{id}")
//    Product getProduct(@PathVariable("id") Long id, @RequestHeader("token") String token);
    @GetMapping("/product/{id}")
    Product getProduct(@PathVariable("id") Long id);

}
